EN FR
EN FR


Section: Software and Platforms

FPLLL: A Lattice Reduction Library

Participant : Damien Stehlé [correspondant] .

fplll contains several algorithms on lattices that rely on floating-point computations. This includes implementations of the floating-point LLL reduction algorithm, offering different speed/guarantees ratios. It contains a “wrapper” choosing the estimated best sequence of variants in order to provide a guaranteed output as fast as possible. In the case of the wrapper, the succession of variants is oblivious to the user. It also includes a rigorous floating-point implementation of the Kannan-Fincke-Pohst algorithm that finds a shortest non-zero lattice vector, and the BKZ reduction algorithm.

The fplll library is used or has been adapted to be integrated within several mathematical computation systems such as Magma, Sage, and PariGP. It is also used for cryptanalytic purposes, to test the resistance of cryptographic primitives.

Versions 4.0.4 was released in 2013, fixing a number of user-interface bugs.

URL: http://perso.ens-lyon.fr/damien.stehle/fplll/

  • ACM: D.2.2 (Software libraries), G.4 (Mathematical software)

  • APP: Procedure started

  • License: LGPL v2.1

  • Type of human computer interaction: C++ library callable, from any C++ program.

  • OS/Middleware: any, as long as a C++ compiler is available.

  • Required library or software: MPFR and GMP.

  • Programming language: C++.

  • Documentation: available in html format on URL:http://perso.ens-lyon.fr/damien.stehle/fplll/fplll-doc.html